<?php
	/**
	 * Klass LOGIN ACTION CONTROLLER - Används för att visa rätt inloggnings sida. Antingen inloggad eller utloggad.
	 * Controllern bestämmer vad som ska skrivas ut till användaren genom att "prata" med vyn och handlern. 
	 */
	class LoginActionController {
		
		private $loginHandler = null;
		private $loginActionView = null;

		// Konstruktor funktion för att slippa skicka med mina två objekt vid anrop av funktion.
		public function __construct(LoginHandler $loginHandler, loginActionView $loginActionView)
		{
			$this->loginHandler = $loginHandler;
			$this->loginActionView = $loginActionView;
		}

		// ----- FUNKTION: DO LOGIN ACTION CONTROLL -------------------------------------------------------
		/**
		 * Funktion som retunerar startsidan för en inloggad användare (admin/kund).
		 * @return string $returnstring
		 */
		public function DoLoginActionControll()
		{			
			$returnstring ="";
			
			// Kontrollerar om användaren är inloggad.
			if ($this->loginHandler->UserIsLoggedIn()) {
				// Kontrollerar om användaren som är inloggad är admin och då skrivs all information för admin ut.
				if ($this->loginHandler->UserIsAdmin()) {
					$menu = $this->loginActionView->DoAdminMenu();
					$userName = $this->loginHandler->GetLoggedInUserName();
					$content = $this->loginActionView->DoAdminContent($userName);
					$returnstring .= $this->loginActionView->CreateAdminView($menu, $content);
				// Annars skrivs informtionen för kund ut.
				} else {
					$menu = $this->loginActionView->DoCostumerMenu();
					$userName = $this->loginHandler->GetLoggedInUserName();
					$content = $this->loginActionView->DoCustomerContent($userName);
					$returnstring .= $this->loginActionView->CreateCostumerView($menu, $content);
				}
			// Annars visas sidan för att logga in.
			} else {
				header("Location: ../login.php");
				$returnstring = $loginView->CreateLogInBox($message);
			}	
			return $returnstring;		
		} 
	}	
?>